package com.leetcode.string;

/**
 * @author Dennis Li
 * @date 2020/7/29 9:47
 */
public class IsIsomorphic_205 {

    public boolean isIsomorphic(String s, String t) {
        // 字符总数是256
        int[] preIndexOfS = new int[256];
        int[] preIndexOfT = new int[256];
        for (int i = 0; i < s.length(); i++) {
            char sc = s.charAt(i), tc = t.charAt(i);
            // 记录上一次出现的位置，如果上一次出现的位置不同，那么就是不同构的
            if (preIndexOfS[sc] != preIndexOfT[tc]) {
                return false;
            }
            // 避免为 0
            preIndexOfS[sc] = i + 1;
            preIndexOfT[tc] = i + 1;
        }
        return true;
    }

}
